The present invention relates to a storage system and to a method for operating such a storage system.
In a conventional storage system, a single drive, like a tape drive in a tape library, may serve multiple queues, for example multiple cartridges in a type library. Such a storage system may be a polling system. Additional applications of such a system, including computer communication systems, production systems and traffic and transportation systems are described in Marco A. A. Boon, Rob. D. van der Mei, Eric M. M. Winands, “Applications of polling systems”, Surveys in Operations Research and Management Science, 2011, 16(2), pp. 67-82.
In such systems, it is important to optimize the strategy of serving the different queues in order to minimize the average waiting time and service time. Conventional approaches schedule the service requests, if multiple queues request service, e.g., round-robin, first-come-first-serve, or the like. For example, under an exhaustive service discipline, the drive continues to work until the queue it is serving becomes empty. The order in which the drive may serve the queues is determined by some routing mechanisms. Such a routing mechanism may depend on the actual state of the system or may be independent of the state of the system. The first may be a dynamic approach and the second may be a static approach. Such, upon service completion in a particular queue, the drive may proceed to serve another queue. However, if all remaining queues are empty, then, in anticipation of subsequent arrivals of requests, a decision regarding the state of the drive is required such that the storage system continues to operate in an optimal way. For instance, a drive may halt at a queue as opposed to continue visiting empty queues (see S. C. Borst, “A Polling System with a Dormant Server”, Report BS-R9313, 1993). Another variant lets the drive visit queues until it reaches a specific queue that serves as its home base where it halts.
In particular, the storage system may be a tape system having many tape cartridges that have to be served with a single or a few tape drives or an optical disk archive with one or a few reader units. Both cases may be highly relevant for tiered data centers and cloud storage solutions, where vast amounts of infrequently used data have to be stored for long periods of time at minimal cost. The usage of removable cheap media and only a relatively small number of reader units or drives may be a key for low-cost storage solutions.
For example, a conventional tape system consists of a tape drive and cartridge control unit and tape drives. A library manager may be the onboard library intelligence that controls all of the operations. It enables the attachment of multiple host platforms, maintains a database of the cartridges held in the library and holds status information about library components.
The cartridge accessor (or tape robot with cartridge grippers) may identify and move cartridges between cartridge storage cells, tape drives and library input/output facilities. Multiple grippers on the cartridge accessor may be provided to handle more than one cartridge at a time and increase the performance of the tape library.
Two logically different types of connection paths may be required between a host and a type library: the data path to the tape transport (for data and tape drive commands) and the library control path to the library manager (for library-specific commands such as mount and unmount).
Read/write requests submitted to the cartridges are queued in corresponding queues and are subsequently served after the corresponding cartridges have been mounted. When the requests for a given cartridge have been served and there are no other requests pending for a disk or any other cartridge, the given cartridge typically remains mounted in anticipation of the future requests to this cartridge. This may minimize the waiting time for the new requests to be served by the same cartridge. Such a static policy, however, may not be optimal in the case where the chances of this event occurring are minimal. It may be important to note that the unmounting or mounting of a cartridge may take a significant amount of time compared to the actual data read or write operation.
As already indicated above, conventional rules for scheduling the requests in the storage system may be suboptimal for realistic tape system used scenarios. For example, if a tape system is used as an active archive tier, the less frequently used (i.e., cold) data is moved from a fast media, such as a disk storage to tapes, mainly for cost reasons. In such systems, the majority of the data is typically cold data, and the hotness of the data (and therefore of the tapes) may change over time, e.g., when users start or stop actively working on a project that involves particular data in the system.
However, the response time when accessing data from tape may be important to many users, especially from those tapes with relatively hot data, e.g., tapes that have been accessed, possibly multiple times over the previous hours or days and therefore have an increased likelihood of being accessed again in the near future).
Due to cost reasons, the number of tape drives may be typically smaller than the number of tapes or media to be served. It is therefore expected that not all tapes containing hot data can be mounted at the same time or have their data tiered to a more expensive storage tier.
In the following, the impacts of conventional tape mount/unmount rules in such a storage system are considered: Once the requests to a tape are served, the conventional solutions typically proceed as follows:
1. Always Unmount the Tape (AO):
If the tape is hot, there is a high likelihood of subsequent requests to this tape, so unmounting the tape may result in significantly increased response time for the next request to this tape, because the tape will have to be mounted again and the unmount/mount time is typically much larger than the corresponding seek time. As the majority of the requests are destined to hot tapes, this may in turn have a significant performance degradation, which is not offset by the faster response of the already unmounted type drives to new requests for other non-hot tapes.
2. Always Keep the Tape Mounted (AKM) Until a New Request Comes to Another Tape:
As mentioned above, not all hot tapes can be mounted simultaneously. Thus, requests for tapes that are not mounted will experience long delays given that tapes not needed should be first unmounted. The response time may be improved if some of the tapes were not kept mounted so that the corresponding drives are kept ready to serve the new request to other tapes.
3. If there is a Hotter Tape, Unmount the Tape and Mount the Hotter One (AUM):
This rule has the same drawbacks as the above rule 2, given that a significant portion of requests is not associated with the hottest tapes mounted. This is due to the fact that, as mentioned above, not all tapes containing hot data can be mounted at the same time because the number of hot tapes is typically larger than the number of tape drives. Therefore, these requests are to be served by tapes that are not mounted and consequently they will experience response times that involve unwind, unmount, mount and seek times, compared with the much smaller mount and seek times in the case where some of the tape drives were unmounted and ready for these requests.
Further, fixed rules based on obvious combinations of the above with the standard approaches 1-3 are also possible, such as e.g., keep tape mounted (AKM) for some fixed periods of time after serving the requests and then unmount (AU). The drawbacks discussed above, however, may still hold and affect the system performance disadvantageously.
Accordingly, it is an aspect of the present invention to provide an improved storage system.